1. Field of the Invention
The present invention relates to a motion estimator for compressing image signals, and more particularly to a half pixel motion estimator for estimating the motion of half pixels by interpolating the integer pixels (pel).
2. Description of the Prior Art
Related arts for a half pixel motion compensation, which are used for an image compression, are disclosed in U.S. Pat. Nos. 5,461,423, 5,488,419, 5,489,949, and 5,493,344. U.S. Pat. No. 5,489,949 discloses in detail a method and apparatus for motion estimation utilizing an error value for determining a motion vector.
In general, a motion estimation is a method for compressing images in image processing methods for determining a motion vector, which represents a motion difference between the pixels of previous frame and the pixels of current frame in successive image signals so as to transmit only the motion vector and the differential pulse code modulation (DPCM) value instead of whole image data.
A block matching algorithm (BMA), widely used in motion estimation, is a method that uses a motion vector in order to estimate block image within the previous frame with the corresponding block image within the current image, under the assumption that a movement of image is shifted parallel in horizontal direction or vertical direction. The BMA commonly uses 8.times.8 and 16.times.16 sized blocks for motion estimation.
In order to search a block of the previous frame closely similar to the reference block of the current frame, the previous frame is searched within a constant range centering the reference block of the previous frame. Here, the constant range is a "search window", and the difference between a candidate block and the reference block within the search window is a distortion.
In addition, a "full search block matching algorithm" compares all candidate blocks with the reference block within the search window. In order to search the most similar block to the reference block, the difference between f.sub.1 (x-a, y-b) and f.sub.2 (x, y) is calculated. The minimum difference between f.sub.1 (x-a, y-b) and f.sub.2 (x, y) is designated as a motion vector. Like the above, a Mean Absolute Error (MAE) method is used to obtain a minimum error value between the blocks. MAE is achieved by the following equation 1. ##EQU1##
In equation 1, the "E.sub.abs " and the "B" are respectively a MAE value and a block size. Accordingly, the (a, b) that allows the E.sub.abs to be minimum is the motion vector.
In the apparatus for compressing and coding images like MPEG2, the motion estimation is performed by two steps in order to perform further detailed motion estimation.
As illustrated in FIG. 1A, the motion estimation is conventionally performed by the following steps. Firstly, an initial motion estimation is performed within a broad search window SW1' in integer pixel units in order to produce a first motion vector MV1'. Secondly, a half pixel is interpolated by calculating the adjacent pixels by centering the motion vector MV1' in order to perform the half pixel motion estimation within a narrow search window SW2', and more detailed motion vector MV2' is produced.
However, an interpolator, which is comprised in the motion estimator of the prior arts needs a divider for generating the half pixel. The divider has a problem that its size is increased when embodied with a semiconductor integrated circuit having an array processor arrangement.